﻿$(document).ready(function () {
    layui.use('table', function () {
        var table = layui.table;
        var layer = layui.layer;
        var form = layui.form;
        var util = layui.util;

        // 渲染表格的函数
        function renderTable(pageNum) {
            // 从查询框获取条件
            var dto = {
                InventoryCode: $("#InventoryCode").val(),
                Kdate: $("#Kdate").val(),
                InventoryState: $("#InventoryState").val(),
                office_id:1,
                PageIndex: 1,
                PageSize:10,
                Token: localStorage.getItem("token")
            }
            // 发送Ajax请求
            $.ajax({
                url: '/Stocktaking/GetInventory',  // 这里填上你的后端接口地址
                type: 'GET',
                data: dto,
                dataType: 'json',
                success: function (response) {
                    var data = JSON.parse(response)
                    //console.log(data)
                    // 渲染表格
                    table.render({
                        elem: '#dataTable',
                        cols: [[
                            { type: 'checkbox',  width: 125 },
                            { field: 'inventoryCode', align: 'center', title: '盘点单号', width: 100 },
                            { field: 'inventoryType', align: 'center', title: '盘点类型', width: 150 },
                            { field: 'morderNumber', align: 'center', title: '关联单号', width: 150 },
                            {
                                field: 'inventoryState', align: 'center', title: '状态', width: 150, templet: function (s)
                                {
                                    if (s.inventoryState == 1)
                                    {
                                        return '<span style="color:blue">待审核</span>';
                                    }
                                    if (s.inventoryState == 2) {
                                        return '<span style="color:green">审核成功</span>';
                                    }
                                    if (s.inventoryState == 3) {
                                        return '<span style="color:red">审核失败</span>';
                                    }
                                }
                            },
                            { field: 'makePerson', align: 'center', title: '制单人', width: 100 },
                            { field: 'addTime', title: '创建时间', width: 200, align: 'center', templet: '<div>{{ layui.util.toDateString(d.addTime, "yyyy-MM-dd HH:mm:ss") }}</div>', },
                            {
                                fixed: 'right', title: '操作', width: 349, align: 'center', minWidth: 125, templet: function (d) {
                                    if (d.inventoryState == 1) {
                                        return '<a class="layui-icon layui-icon-eye" lay-on="test-page-custom" style="color:blue" onclick="ChaInventory(' + d.inventoryId + ')">查看</a> <a class="layui-icon layui-icon-edit" lay-on="test-page-custom" style="color:blue" onclick="UpdInventory(' + d.inventoryId + ')">编辑</a>   <a class=" layui-icon layui-icon-delete" style="color:blue" onclick="DelInventory(' + d.inventoryId + ')"  lay - event="moredel"> 删除</a > <a class=" layui-icon layui-icon-upload-circle" style="color:blue" onclick="ShangInventory(' + d.inventoryId + ')"  lay - event="moredel"> 上传</a >'
                                    }
                                    if (d.inventoryState == 2) {
                                        return '<a class="layui-icon layui-icon-eye" lay-on="test-page-custom" style="color:blue" onclick="ChaInventory(' + d.inventoryId + ')">查看</a> '
                                    }
                                    if (d.inventoryState ==3) {
                                        return '<a class="layui-icon layui-icon-eye" lay-on="test-page-custom" style="color:blue" onclick="ChaInventory(' + d.inventoryId + ')">查看</a> <a class=" layui-icon layui-icon-edit" lay-on="test-page-custom" style="color:blue" onclick="UpdInventory(' + d.inventoryId + ')">编辑</a><a class="layui-icon layui-icon-delete" style="color:blue" onclick="DelInventory(' + d.inventoryId + ')"  lay - event="moredel"> 删除</a >  <a class=" layui-icon layui-icon-upload-circle" style="color:blue" onclick="ShangInventory(' + d.inventoryId + ')"  lay - event="moredel"> 上传</a >'
                                    }
                                },
                            }
                        ]],
                        data: data.data.list,  // 数据源
                        page: true,   // 启用分
                        limit: 5,    // 每页显示多少条数据
                        limits: [10, 20, 30],  // 分页选择项
                        curr: pageNum,  // 当前页
                        total: data.data.sumcount,  // 总记录数
                        loading: true, // 启用加载状态
                        toolbar: '#toolbarDemo',
                        defaultToolbar: ['exports'],
                    });

                    //// 渲染分页控件
                    var totalPages = Math.ceil(response.totalcount / 10);  // 计算总页数
                    layui.laypage.render({
                        //elem: 'pagination',//上一页
                        count: response.totalcount,  // 总记录数
                        limit: 10,
                        curr: pageNum || 1,
                        jump: function (obj, first) {
                            if (!first) {
                                renderTable(obj.curr);  // 不为第一次调用时，重新渲染表格
                            }
                        }
                    });
                },
                error: function (xhr, status, error) {
                    console.log('请求失败: ' + error);
                }
            });

            //////选择复选框之后的数据  批量删除//////////////////////////
            document.getElementById('getCheckData').onclick = function () {
                // 获取所有勾选的行数据
                var checkedData = table.checkStatus('dataTable').data;
                // 提取选中数据的ID
                var checkedIds = checkedData.map(function (item) {
                    return item.inventoryId;  // 获取每一行的id
                });
                //console.log(checkedIds)
                // 输出选中的ID
                var currentDate = new Date();
                var deldto = {
                    ids: checkedIds,
                    delName: "朱泊霖",
                    delTime: currentDate.getFullYear() + '-' + (currentDate.getMonth() + 1) + '-' + currentDate.getDate() + ' ' + currentDate.getHours() + ':' + currentDate.getMinutes(),
                    Token: localStorage.getItem("token")
                }
                console.log(deldto);
                if (deldto.ids.length == 0) {
                    layer.msg('批量删除至少选择一项');
                    return
                }
                layer.confirm('你真的要批量删除吗？', { icon: 3 }, function () {
                    $.ajax({
                        url: "/Stocktaking/DelFinanceReces",
                        data: deldto,
                        type: "post",
                        success: function (res) {
                            //console.log(res)
                            var s = JSON.parse(res)
                            if (s.data > 0) {
                                layer.msg('批量删除成功', { icon: 0 }, function () {
                                    //layer.msg('提示框关闭后的回调');
                                    location.reload()
                                });
                            }
                            else {
                                layer.msg('批量删除失败');
                                return
                            }
                        }
                    })
                }, function () {
                    layer.msg('取消批量删除');
                })
            }

        }
        // 监听全选操作
        form.on('checkbox(check-all)', function (data) {
            var checked = data.elem.checked;  // 获取全选复选框的状态
            table.checkStatus('dataTable').isAll = checked;  // 设置是否全选
            form.render('checkbox');  // 重新渲染表单
        });

        ////////////删除////////////////////////////////////////////////
        window.DelInventory = function (id) {
            var currentDate = new Date();
            var delres = {
                ids: id,
                delName: '朱泊霖',
                delTime: currentDate.getFullYear() + '-' + (currentDate.getMonth() + 1) + '-' + currentDate.getDate() + ' ' + currentDate.getHours() + ':' + currentDate.getMinutes(),
                Token: localStorage.getItem("token")
            };
            console.log(delres)
            layer.confirm('你真的要删除吗？', { icon: 3 }, function () {
                $.ajax({
                    url: "/Stocktaking/DelFinanceReces",
                    data: delres,
                    type: "post",
                    success: function (daa) {
                        var s = JSON.parse(daa)
                        if (s.data == 1) {
                            layer.msg('删除成功', { icon: 0 }, function () {
                                location.reload()
                            });
                            //alert('删除成功');

                        }
                        else {
                            layer.msg('删除失败');
                            return
                        }
                    }
                })
            }, function () {
                layer.msg('取消删除');
            });














        }

        ////////////查看////////////////////////////////////////////////
        window.ChaInventory = function (id) {
            /////查看盘点//////////////////
            var dto = {
                id: id,
                Token: localStorage.getItem("token")
            }
                $.ajax({
                url: "/Stocktaking/FanInventory",
                data: dto,
                type: "get",
                success: function (res) {
                    var s = JSON.parse(res)
                    
                    //反填
                    $(s.data).each(function () {
                        console.log(this.inventoryCode)
                        $("#inventoryCode").text(this.inventoryCode)
                        if (this.inventoryState == 1) {
                            $("#inventoryState").text("待审核")
                        }
                        if (this.inventoryState == 2) {
                            $("#inventoryState").text("审核成功")
                        }
                        if (this.inventoryState == 3) {
                            $("#inventoryState").text("审核失败")
                        }
                        $("#morderNumber").text(this.morderNumber)
                        $("#addName").text(this.addName)


                        //反填日期框
                        var da = new Date(this.addTime);
                        // 获取年、月、日
                        var year = da.getFullYear();
                        var month = (da.getMonth() + 1).toString().padStart(2, '0');  // 月份从0开始，因此加1
                        var day = da.getDate().toString().padStart(2, '0');  // 补充两位数字
                        // 获取小时（0-23）
                        var hours = da.getHours();
                        // 获取分钟（0-59）
                        var minutes = da.getMinutes();
                        // 获取秒（0-59）
                        var seconds = da.getSeconds();
                        var formattedHours = hours.toString().padStart(2, '0');
                        var formattedMinutes = minutes.toString().padStart(2, '0');
                        var formattedSeconds = seconds.toString().padStart(2, '0');
                        var timeString = formattedHours + ':' + formattedMinutes + ':' + formattedSeconds;
                        // 拼接成 "yyyy-MM-dd" 格式
                        var formattedDate = `${year}-${month}-${day} ${timeString}`;
                        $("#addTime").text(formattedDate)

                        $("#iRremark").text(this.iRremark)
                        if (this.inventoryState == 1) {
                            $("#inventoryStates").text("未同意")
                        }
                        if (this.inventoryState == 2) {
                            $("#inventoryStates").text("同意")
                        }
                        if (this.inventoryState == 3) {
                            $("#inventoryStates").text("不同意")
                        }
                    })

                    
                    // 创建渲染实例
                    table.render({
                        elem: '#test',
                        cols: [[
                            { type: 'checkbox', fixed: 'left' },
                            { field: 'productCode', width: 100, title: '产品编码' },
                            { field: 'productName', width: 100, title: '产品名称' },
                            { field: 'specifications', width: 100, title: '规格' },
                            { field: 'batch', width: 100, title: '批次' },
                            { field: 'warehouseLocation', width: 100, title: '当前库位' },
                            { field: 'number', width: 100, title: '数量' },
                            { field: 'inventoryNumber', width: 100, title: '盘点数' },
                            {
                                field: 'username', width: 100, title: '盈亏数', templet: function (o)
                                {
                                    if (o.number > o.inventoryNumber) {
                                        return '<span>' + (o.number - o.inventoryNumber) + '</span>'
                                    }
                                    else {
                                        return '<span>' + (o.number - o.inventoryNumber) + '</span>'
                                    }
                                }
                            },
                        ]],
                        data: s.data[0].listProduct
                    });

                }
            })
                //事件
                util.on('lay-on', {
                    'test-page-custom': function () {
                        layer.open({
                            type: 1,
                            area: ['700px','500px'],
                            title: '盘点单详情',
                            content: `
                            <table width="700px">
                                <tr style="height:50px">
                                    <td style="text-align:center">盘点单号：</td>
                                    <td id="inventoryCode" name="inventoryCode"></td>
                                    <td>单据状态：</td>
                                    <td id="inventoryState" name="inventoryState"></td>
                                </tr>
                                 <tr style="height:50px">
                                    <td style="text-align:center">关联单号：</td>
                                    <td id="morderNumber" name="morderNumber"></td>
                                    <td>创建人：</td>
                                    <td id="addName" name="addName"></td>
                                    <td>创建时间：</td>
                                    <td id="addTime" name="addTime"></td>
                                </tr>
                                <tr style="height:50px">
                                    <td style="text-align:center">备注：</td>
                                    <td id="iRremark" name="iRremark"></td>
                                    <td>审核原因：</td>
                                    <td id="inventoryStates" name="inventoryStates"></td>
                                </tr>
                            </table>

                            <table class="layui-hide" id="test" lay-filter="test"></table>
                            <button type="button" class="layui-btn" style="margin-left:600px;margin-top:80px" onclick="location.href='/Stocktaking/Stocking'">关闭</button>
                            `,
                            success: function () {
                                // 对弹层中的表单进行初始化渲染
                                form.render();
                                //// 表单提交事件
                                //form.on('submit(demo-login)', function (data) {
                                //    var field = data.field; // 获取表单字段值
                                //    // 显示填写结果，仅作演示用
                                //    layer.alert(JSON.stringify(field), {
                                //        title: '当前填写的字段值'
                                //    });
                                //    // 此处可执行 Ajax 等操作
                                //    // …
                                //    return false; // 阻止默认 form 跳转
                                //});
                            }








                        });
                    }
                });


        }

        //////////////上传/////////////////////////////////////////////
        window.ShangInventory = function (id) {
            localStorage.setItem("UploadID", id);
            location.href = "/Stocktaking/StockingUpload";
        }

        window.UpdInventory = function (id) {
            //alert(id)
            location.href = "/Stocktaking/UpdInvent";
            localStorage.setItem("UpdID", id);
        }

        // 初次加载表格数据
        renderTable(1);

        // 查询按钮点击事件
        $('#searchBtn').click(function () {
            renderTable(1);  // 重置为第一页，并重新加载数据
        });










    });




});